Relazioni
Le informazioni correlate vengono archiviate in oggetti business separati all'interno del database. L'utente definisce le relazioni tra i vari oggetti business, dopodiché l'applicazione utilizza le relazioni per trovare le informazioni associate.
Ad esempio, supponiamo che si desideri telefonare a un utente in merito a delle domande su un problema registrato. I numeri telefonici degli utenti vengono registrati nell'oggetto business UTENTE; i problemi vengono registrati nell'oggetto business PROBLEMA. Quando si individua il Problema a cui si è interessati, il sistema ricerca il numero di telefono in base alla relazione tra i due oggetti business. Non archivia il numero di telefono ogni volta in cui l'utente registra un problema – lo archivia solo una volta, sull'oggetto business dell'utente correlato.
Relazioni di oggetto e di raccolta
Vi sono due tipi di relazione:
Relazione di oggetto – in una relazione tra gli oggetti A e B, una relazione con A viene creata sull'oggetto B, mentre non vi è alcuna relazione con B su A
Ciò risulta utile se si desidera selezionare un valore singolo di A sull'oggetto B. Ad esempio, se si desidera selezionare un Utente su una Richiesta.
Relazione di raccolta – consente di creare molti degli oggetti correlati sull'oggetto chiave e di visualizzare l'oggetto chiave da uno qualsiasi degli oggetti correlati: una relazione con A viene creata sull'oggetto B e una relazione di raccolta con B viene creata su A
Ciò risulta utile se si desidera creare molte istanze dell'oggetto correlato dall'oggetto chiave. Ad esempio, se si desidera aggiungere Note a una Richiesta.
Evitare di creare raccolte non vincolate, in quanto influiscono negativamente sulle prestazioni del proprio sistema. Le raccolte non vincolate crescono in genere di pari passo con la crescita del proprio database. Ad esempio, Incident-Note è una raccolta vincolata dato che gli Incident vengono chiusi dopo un periodo di tempo, dopo il quale non è possibile aggiungere ulteriori Note. Invece, una raccolta Utente-Incident è non vincolata dato che il numero di oggetti nella raccolta cresce di pari passo con il numero di Incident registrati per ciascun utente. Se si desidera visualizzare gli incident registrati per ciascun utente, è preferibile creare una query.